package com.platform.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

import static com.platform.comm.util.DateTimeUtil.STD_DATE_FMT_PATTERN;
import static com.platform.comm.util.DateTimeUtil.STD_LONG_TIME_PATTERN;

/**
 * @author Coder
 */
@Getter
@Setter
@ApiModel(value = "通知公告",description = "通知公告dto")
public class NcloudSysNotifyDto {

    /**
    * id
    */
    @ApiModelProperty(value = "id",name = "id")
    private String id;

    /**
    * 业务id
    */
    @ApiModelProperty(value = "业务id",name = "id")
    private String bizId;

    /**
    * 菜单路由
    */
    @ApiModelProperty(value = "菜单路由",name = "bizRoute")
    private String bizRoute;

    /**
     * 通知类型
     */
    @ApiModelProperty(value = "通知类型",name = "type")
    private String type;

    /**
    * 通知标题
    */
    @ApiModelProperty(value = "通知标题",name = "title")
    private String title;

    /**
    * 通知内容
    */
    @ApiModelProperty(value = "通知内容",name = "content")
    private String content;

    /**
     * 状态(0:已发布,1:未发布)
     */
    @ApiModelProperty(value = "状态",name = "status")
    private String status;

    /**
     * 附件
     */
    @ApiModelProperty(value = "附件",name = "attachment")
    private String attachment;

    @ApiModelProperty(value = "附件信息",name = "fileList")
    private List<Map<String, String>> fileList;

    /**
     * 创建日期
     */
    @JsonFormat(pattern = STD_LONG_TIME_PATTERN, shape = JsonFormat.Shape.STRING)
    private LocalDateTime createDate;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = STD_LONG_TIME_PATTERN, shape = JsonFormat.Shape.STRING)
    private LocalDateTime updateDate;

    /**
     * 发布日期
     */
    @JsonFormat(pattern = STD_DATE_FMT_PATTERN, shape = JsonFormat.Shape.STRING)
    private LocalDate publishDate;

    /**
     * 截止时间
     */
    @JsonFormat(pattern = STD_DATE_FMT_PATTERN, shape = JsonFormat.Shape.STRING)
    private LocalDate deadlineDate;

    /**
     * 已读/未读
     */
    private String readStatus;

    private String createBy;

}
